﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace jQuery.WebControls.ImageGallery
{
    /// <summary>
    /// En principio se penso para generar como HTTPREPONSE una imagen en miniatura
    /// de la original pero por problemas con el IIS 7 lo dejaremos como está.
    /// La opción de generar la miniatura y copiar a un directorio no me termina de convencer
    /// aunque es una posibilidad. El código para generar la miniatura la podemos encontrar
    /// en ThumImageHandler.
    /// </summary>
    [DefaultProperty("Text")]
    [ToolboxData("<{0}:ThumbImage runat=server></{0}:ThumbImage>")]
    [TypeConverter(typeof(ExpandableObjectConverter))]      
    public class ThumbImage : Image
    {
        
        /// <summary>
        /// Genera la salida HTML del control.
        /// <code>
        ///     [a href="{url imagen}"/][img src="[url imagen]" alt="{texto alternativo}" /]
        /// </code>
        /// </summary>
        /// <param name="writer"></param>
        protected override void Render(HtmlTextWriter writer)
        {
            String html;
            //html = String.Format("<a href='{0}'><img src='ThumbImageHanlder.ashx" +
            //    "?i={0}&w={1}&h={2}' alt='{3}' /></a>",
            //    Page.ResolveUrl(ImageUrl), Width.Value.ToString(),
            //    Height.Value.ToString(), AlternateText);
            html = String.Format("<a href=\"{0}\"><img src=\"{0}\" alt=\"{1}\" style=\"width:{2};height:{3}\" /></a>",
                Page.ResolveUrl(ImageUrl), AlternateText, (Width.Value > 0 ? Width.ToString() : "auto"),
                (Height.Value > 0 ? Height.ToString() : "auto"));            
            writer.Write(html);
        }
        
    }
}
